package servlet;

import pojo.User;
import service.UserService;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "LoginServlet", value = "/login")
//登录
public class LoginServlet extends HttpServlet {
    private UserService userService = new UserService();


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 获取用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String rememberMe = request.getParameter("rememberMe");
//2. 调用service查询
        User user = userService.login(username, password);
        if(user != null){
//            前端记住我
            if ("1".equals(rememberMe)){
              Cookie cookieUsername=  new Cookie("username",username);
              Cookie cookiePassword=  new Cookie("password",password);
              cookieUsername.setMaxAge(7*24*3600);
              cookiePassword.setMaxAge(7*24*3600);
              response.addCookie(cookieUsername);
              response.addCookie(cookiePassword);

            }else {
                Cookie cookieUsername=  new Cookie("username",null);
                Cookie cookiePassword=  new Cookie("password",null);
                cookieUsername.setMaxAge(0);
                cookiePassword.setMaxAge(0);
                response.addCookie(cookieUsername);
                response.addCookie(cookiePassword);

            }


//登录成功，跳转到查询所有的BrandServlet
//将登陆成功后的user对象，存储到session
            HttpSession session = request.getSession();
            session.setAttribute("LOGIN_USER",user);
            response.sendRedirect("selectAll");
        }else {
// 登录失败,
// 存储错误信息到request
            String msg="用户名或密码错误";
            request.setAttribute("LOGIN_MSG",msg);
// 转发到login.jsp
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }

    }
}
